package com.inboyu.application.response;

import com.inboyu.listing.domain.FeeItem;
import com.inboyu.listing.domain.StoreFeeItem;

import java.util.List;

/**
 * 费项集合
 */
public record FeeItemsResponse(
    List<FeeItemResponse> feeItems
) {

    /**
     * 判断【门店】是否存在【服务类型 + 费项 + 收入科目】，如果存在，则其他【收入科目】标记成 `disabled = false`
     * @param feeItems
     * @param storeFeeItems
     * @return
     */
    public static FeeItemsResponse convert(List<FeeItem> feeItems, List<StoreFeeItem> storeFeeItems) {
        return new FeeItemsResponse(
            feeItems.stream()
                .map(feeItem -> {
                    boolean disabled = false;
                    for (StoreFeeItem storeFeeItem : storeFeeItems) {
                        if (storeFeeItem.getFeeItem().equals(feeItem)) {
                            disabled = true;
                            break;
                        }
                    }
                    return new FeeItemResponse();
                })
        );
    }
    
}
